package com.xxxx.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xxxx.server.pojo.Admin;
import com.xxxx.server.pojo.RespBean;
import com.xxxx.server.pojo.Role;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhoubin
 * @since 2020-10-15
 */
public interface IAdminService extends IService<Admin> {

	/**
	 * 登录
	 * @param username
	 * @param password
	 * @return
	 */
	RespBean login(String username, String password);

	/**
	 * 根据用户名获取用户信息
	 * @param username
	 * @return
	 */
	Admin getUserByUsername(String username);

	RespBean login(String username, String password, String code, HttpServletRequest request);

	/**
	 * 根据用户ID获取权限列表
	 */
	List<Role> getRoles(Integer id);

	List<Admin> getAdminsByNameLike(String keywords);

	/**
	 * 根据用户id修改角色
	 */
	RespBean updateRolesById(Integer adminId, String ids);

	/**
	 * 修改操作员状态
	 * @param i
	 * @param adminId
	 * @return
	 */
    RespBean updateEnableStatus(int i,Integer adminId);

	/**
	 * 根据id删除操作员
	 * @param id
	 * @return
	 */
	RespBean deleteAdminById(Integer id);

	/**
	 * 修改个人信息
	 * @param admin
	 * @return
	 */
	RespBean updateAdminInfo(Map<String, Object> admin);

	/**
	 * 修改密码
	 * @param ruleForm
	 * @return
	 */
	RespBean updatePwdById(Map<String, Object> ruleForm);

	/**
	 * 修改头像
	 * @param file
	 * @return
	 */
	RespBean changeUserFace(MultipartFile file,Integer id);

	/**
	 * 通过关键字获取所有admin
	 * @param data
	 * @return
	 */
    List<Admin> getAllAdmins(String data);
}

